package main

import (
	"fmt"
	"math/bits"
)

// 顶部 4 表示小时   8 4 2 1
// 底部6个 表示分种  32 16 8  4 2 1

// turnedOn 当前领着LED数量，返回所有可能的时间
func readBinaryWatch(turnedOn int) []string {
	// a+b = turnedOn
	var res []string
	for i := 0; i < 1024; i++ {
		h, m := i>>6, i&63 // 取出高4位和低6位
		if h < 12 && m < 60 && bits.OnesCount(uint(i)) == turnedOn {
			res = append(res, fmt.Sprintf("%d:%02d", h, m))
		}
	}
	return res
}

func main() {
	res := readBinaryWatch(1)
	fmt.Println(res)
}
